package cn.ibizlab.odoo.core.odoo_im_livechat.domain;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.math.BigInteger;
import java.util.HashMap;
import java.math.BigDecimal;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.ibizlab.odoo.core.util.annotation.DEField;
import cn.ibizlab.odoo.core.util.annotation.DEPredefinedField;
import cn.ibizlab.odoo.core.util.enums.DEPredefinedFieldFillMode;
import cn.ibizlab.odoo.core.util.enums.DEPredefinedFieldType;
import java.io.Serializable;

/**
 * 实体[实时聊天支持操作员报告]
 */
public class Im_livechat_report_operator implements Serializable {

	private static final long serialVersionUID = 1L;

    /**
     * 该回答了
     */
    private Double time_to_answer;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean time_to_answerDirtyFlag;

    /**
     * 最后修改日
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    private Timestamp __last_update;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean __last_updateDirtyFlag;

    /**
     * 会话的开始日期
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    private Timestamp start_date;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean start_dateDirtyFlag;

    /**
     * # 会话
     */
    private Integer nbr_channel;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean nbr_channelDirtyFlag;

    /**
     * ID
     */
    @DEField(isKeyField=true)
    private Integer id;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean idDirtyFlag;

    /**
     * 平均时间
     */
    private Double duration;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean durationDirtyFlag;

    /**
     * 显示名称
     */
    private String display_name;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean display_nameDirtyFlag;

    /**
     * 渠道
     */
    private String livechat_channel_id_text;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean livechat_channel_id_textDirtyFlag;

    /**
     * 对话
     */
    private String channel_id_text;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean channel_id_textDirtyFlag;

    /**
     * 运算符
     */
    private String partner_id_text;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean partner_id_textDirtyFlag;

    /**
     * 对话
     */
    private Integer channel_id;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean channel_idDirtyFlag;

    /**
     * 运算符
     */
    private Integer partner_id;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean partner_idDirtyFlag;

    /**
     * 渠道
     */
    private Integer livechat_channel_id;

    @JsonIgnore
    @JSONField(serialize=false)
    private boolean livechat_channel_idDirtyFlag;


    /**
     * 获取 [该回答了]
     */
    @JsonProperty("time_to_answer")
    @JSONField(name="time_to_answer")
    public Double getTime_to_answer(){
        return this.time_to_answer ;
    }

    /**
     * 设置 [该回答了]
     */
    @JsonProperty("time_to_answer")
    @JSONField(name="time_to_answer")
    public void setTime_to_answer(Double time_to_answer){
        this.time_to_answer = time_to_answer ;
        this.time_to_answerDirtyFlag = true ;
    }

    /**
     * 获取 [该回答了]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getTime_to_answerDirtyFlag(){
        return this.time_to_answerDirtyFlag ;
    }
    /**
     * 获取 [最后修改日]
     */
    @JsonProperty("__last_update")
    @JSONField(name="__last_update")
    public Timestamp get__last_update(){
        return this.__last_update ;
    }

    /**
     * 设置 [最后修改日]
     */
    @JsonProperty("__last_update")
    @JSONField(name="__last_update")
    public void set__last_update(Timestamp __last_update){
        this.__last_update = __last_update ;
        this.__last_updateDirtyFlag = true ;
    }

    /**
     * 获取 [最后修改日]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean get__last_updateDirtyFlag(){
        return this.__last_updateDirtyFlag ;
    }
    /**
     * 获取 [会话的开始日期]
     */
    @JsonProperty("start_date")
    @JSONField(name="start_date")
    public Timestamp getStart_date(){
        return this.start_date ;
    }

    /**
     * 设置 [会话的开始日期]
     */
    @JsonProperty("start_date")
    @JSONField(name="start_date")
    public void setStart_date(Timestamp start_date){
        this.start_date = start_date ;
        this.start_dateDirtyFlag = true ;
    }

    /**
     * 获取 [会话的开始日期]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getStart_dateDirtyFlag(){
        return this.start_dateDirtyFlag ;
    }
    /**
     * 获取 [# 会话]
     */
    @JsonProperty("nbr_channel")
    @JSONField(name="nbr_channel")
    public Integer getNbr_channel(){
        return this.nbr_channel ;
    }

    /**
     * 设置 [# 会话]
     */
    @JsonProperty("nbr_channel")
    @JSONField(name="nbr_channel")
    public void setNbr_channel(Integer nbr_channel){
        this.nbr_channel = nbr_channel ;
        this.nbr_channelDirtyFlag = true ;
    }

    /**
     * 获取 [# 会话]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getNbr_channelDirtyFlag(){
        return this.nbr_channelDirtyFlag ;
    }
    /**
     * 获取 [ID]
     */
    @JsonProperty("id")
    @JSONField(name="id")
    public Integer getId(){
        return this.id ;
    }

    /**
     * 设置 [ID]
     */
    @JsonProperty("id")
    @JSONField(name="id")
    public void setId(Integer id){
        this.id = id ;
        this.idDirtyFlag = true ;
    }

    /**
     * 获取 [ID]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getIdDirtyFlag(){
        return this.idDirtyFlag ;
    }
    /**
     * 获取 [平均时间]
     */
    @JsonProperty("duration")
    @JSONField(name="duration")
    public Double getDuration(){
        return this.duration ;
    }

    /**
     * 设置 [平均时间]
     */
    @JsonProperty("duration")
    @JSONField(name="duration")
    public void setDuration(Double duration){
        this.duration = duration ;
        this.durationDirtyFlag = true ;
    }

    /**
     * 获取 [平均时间]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getDurationDirtyFlag(){
        return this.durationDirtyFlag ;
    }
    /**
     * 获取 [显示名称]
     */
    @JsonProperty("display_name")
    @JSONField(name="display_name")
    public String getDisplay_name(){
        return this.display_name ;
    }

    /**
     * 设置 [显示名称]
     */
    @JsonProperty("display_name")
    @JSONField(name="display_name")
    public void setDisplay_name(String display_name){
        this.display_name = display_name ;
        this.display_nameDirtyFlag = true ;
    }

    /**
     * 获取 [显示名称]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getDisplay_nameDirtyFlag(){
        return this.display_nameDirtyFlag ;
    }
    /**
     * 获取 [渠道]
     */
    @JsonProperty("livechat_channel_id_text")
    @JSONField(name="livechat_channel_id_text")
    public String getLivechat_channel_id_text(){
        return this.livechat_channel_id_text ;
    }

    /**
     * 设置 [渠道]
     */
    @JsonProperty("livechat_channel_id_text")
    @JSONField(name="livechat_channel_id_text")
    public void setLivechat_channel_id_text(String livechat_channel_id_text){
        this.livechat_channel_id_text = livechat_channel_id_text ;
        this.livechat_channel_id_textDirtyFlag = true ;
    }

    /**
     * 获取 [渠道]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getLivechat_channel_id_textDirtyFlag(){
        return this.livechat_channel_id_textDirtyFlag ;
    }
    /**
     * 获取 [对话]
     */
    @JsonProperty("channel_id_text")
    @JSONField(name="channel_id_text")
    public String getChannel_id_text(){
        return this.channel_id_text ;
    }

    /**
     * 设置 [对话]
     */
    @JsonProperty("channel_id_text")
    @JSONField(name="channel_id_text")
    public void setChannel_id_text(String channel_id_text){
        this.channel_id_text = channel_id_text ;
        this.channel_id_textDirtyFlag = true ;
    }

    /**
     * 获取 [对话]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getChannel_id_textDirtyFlag(){
        return this.channel_id_textDirtyFlag ;
    }
    /**
     * 获取 [运算符]
     */
    @JsonProperty("partner_id_text")
    @JSONField(name="partner_id_text")
    public String getPartner_id_text(){
        return this.partner_id_text ;
    }

    /**
     * 设置 [运算符]
     */
    @JsonProperty("partner_id_text")
    @JSONField(name="partner_id_text")
    public void setPartner_id_text(String partner_id_text){
        this.partner_id_text = partner_id_text ;
        this.partner_id_textDirtyFlag = true ;
    }

    /**
     * 获取 [运算符]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getPartner_id_textDirtyFlag(){
        return this.partner_id_textDirtyFlag ;
    }
    /**
     * 获取 [对话]
     */
    @JsonProperty("channel_id")
    @JSONField(name="channel_id")
    public Integer getChannel_id(){
        return this.channel_id ;
    }

    /**
     * 设置 [对话]
     */
    @JsonProperty("channel_id")
    @JSONField(name="channel_id")
    public void setChannel_id(Integer channel_id){
        this.channel_id = channel_id ;
        this.channel_idDirtyFlag = true ;
    }

    /**
     * 获取 [对话]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getChannel_idDirtyFlag(){
        return this.channel_idDirtyFlag ;
    }
    /**
     * 获取 [运算符]
     */
    @JsonProperty("partner_id")
    @JSONField(name="partner_id")
    public Integer getPartner_id(){
        return this.partner_id ;
    }

    /**
     * 设置 [运算符]
     */
    @JsonProperty("partner_id")
    @JSONField(name="partner_id")
    public void setPartner_id(Integer partner_id){
        this.partner_id = partner_id ;
        this.partner_idDirtyFlag = true ;
    }

    /**
     * 获取 [运算符]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getPartner_idDirtyFlag(){
        return this.partner_idDirtyFlag ;
    }
    /**
     * 获取 [渠道]
     */
    @JsonProperty("livechat_channel_id")
    @JSONField(name="livechat_channel_id")
    public Integer getLivechat_channel_id(){
        return this.livechat_channel_id ;
    }

    /**
     * 设置 [渠道]
     */
    @JsonProperty("livechat_channel_id")
    @JSONField(name="livechat_channel_id")
    public void setLivechat_channel_id(Integer livechat_channel_id){
        this.livechat_channel_id = livechat_channel_id ;
        this.livechat_channel_idDirtyFlag = true ;
    }

    /**
     * 获取 [渠道]脏标记
     */
    @JsonIgnore
    @JSONField(serialize=false)
    public boolean getLivechat_channel_idDirtyFlag(){
        return this.livechat_channel_idDirtyFlag ;
    }

}

